『プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ』
https://m.media-amazon.com/images/I/51crIt825AL._SX385_BO1,204,203,200_.jpg https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E8%84%B3-%EF%BD%9E%E5%84%AA%E3%82%8C%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E8%AA%8D%E7%9F%A5%E7%A7%91%E5%AD%A6%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81-Felienne-Hermans/dp/4798068535/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1VZOTESJ57Q37&keywords=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E8%84%B3&qid=1684366318&sprefix=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BCn%2Caps%2C1468&sr=8-1
長年プログラミング教育の研究に取り組んでいる著者が、最新の「認知科学」に基づいて、プログラミングの際のさまざまな作業や技術の取得を効率的に行うための方法を解説しています。
まずは、コードを書いたり読んだりするときに「プログラマーの脳」がどのように働くかという認知プロセスについて説明しています。なぜなら、作業が異なれば、利用する認知プロセスも異なり、使うべきテクニックも変わってくるからです。
認知プロセスの段階や相互作用について理解したところで、「コードを速く、深く読む」「コードを読みやすくする」「新しい言語を短時間で習得する」といったことについて、どの認知プロセスを活用しているのかを考えて、どのような方法を採るべきかなのかを具体例を挙げて説明しています。また、プログラミングそのものではありませんが、新しい開発者を迎え入れる際のオンボーディングプロセスについても、認知科学的な側面から掘り下げています。
本書は、13の章から成り、大きく4つの部に分けられています。各章では、次のような内容を説明しています。
・第1章:プログラミングを行う際に重要な3つの認知プロセスと、それぞれの認知プロセスがどのような混乱と関連するか
・第2章:コードを素早く読み、その仕組みを理解する方法
・第3章:プログラミングの構文や概念をよりよく、より簡単にきちんと学ぶ方法
・第4章:複雑なコードを読み解くためのテクニック
・第5章:見慣れないコードをしっかりと理解するためのテクニック
・第6章:プログラミングにおける問題解決のテクニック
・第7章:コードや思考中のバグを回避するためのテクニック
・第8章:特にコードベース全体において、明確な変数名を選択する方法
・第9章:「コードの臭い」とその背後にある認知科学的背景
・第10章:複雑な問題を解決するための、より高度なテクニック
・第11章:コーディングという行為そのものと、プログラミングにおけるさまざまなタスク
・第12章:大規模なコードベースを改善する方法
・第13章:新しい開発者のオンボーディングプロセスの苦痛を軽減する方法
本書は、脳の働きをより深く理解することで、プログラマーとしてのスキルや習慣を向上させたいと願う、すべてのレベルのプログラマーのために書かれていますが、特に「職業プログラマー」が直面するような状況が取り上げられています。チーム開発、大規模ソフトウェアシステム構築、オンボーディングサポートなどの経験などがあると、本書をより理解し、活用できるでしょう。また、JavaScript、Python、Javaなど(APLやBASICも!)の言語で書かれたコード例が出てきますが、特定の言語の知識や経験は必要ありません。